home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Belgian Amiga Club - ADF Collection
/
BS1 part 34.zip
/
BS1 part 34
/
source code vol 1.adf
/
STARROUTS
/
SIDESTARS.S
< prev
next >
Wrap
Text File
|
1999-09-26
|
1KB
|
81 lines
ScreenX = 46
Stars=100
StarCol=$ffd
StarBPL=$65000
StarField:
lea StarX,a0
lea StarY,a1
lea StarSp,a2
move.w #Stars-1,d0
StarF1: jsr StarFDel
move.w (a2),d4
sub.w d4,(a0)
bpl StarF2
move.w #319,(a0)
StarF3: move.w $dff006,d1
move.w $bfe800,d2
eor.w d1,d2
and.w #$ff,d2
cmp.w #180,d2
bge StarF3
move.w d2,(a1)
move.w $dff006,d1
move.w $bfe800,d2
eor.w d1,d2
and.w #7,d2
add.w #1,d2
move.w d2,(a2)
StarF2:
jsr StarFSet
dbra d0,StarF1
rts
StarFDel:
move.w (a0),d1
move.w (a1),d2
lea StarBPL,a3
mulu #ScreenX,d2
lsr.w #3,d1
add.w d1,d2
add.l d2,a3
move.w (a0),d1
eor.b #7,d1
and.w #7,d1
bclr d1,(a3)
rts
StarFSet:
move.w (a0),d1
move.w (a1)+,d2
move.w (a2)+,d3
lea StarBPL,a3
mulu #ScreenX,d2
lsr.w #3,d1
add.w d1,d2
add.l d2,a3
move.w (a0)+,d1
eor.b #7,d1
and.w #7,d1
bset d1,(a3)
rts
StarX: blk.w Stars
Stary: blk.w Stars
StarSp: blk.w Stars
InitStarField:
move.w #3*Stars-1,d1
lea StarX,a0
StarFieldsu: move.w $dff006,d0
move.w $bfe800,d2
eor.w d2,d0
add.w d1,d0
and.w #319,d0
bset #0,d0
move.w d0,(a0)+
dbra d1,StarFieldsu
rts